package com.example.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.dto.OrderCreateDTO;
import com.example.entity.Sku;
import com.example.entity.SkuVo;
import com.example.vo.SkusAttrVo;

import java.math.BigDecimal;
import java.util.List;

/**
* @author 12057
* @description 针对表【sku(sku信息)】的数据库操作Service
* @createDate 2024-05-13 13:32:24
*/
public interface SkuService extends IService<Sku> {
    List<SkuVo> getSkusBySpuId(Integer spuId);

    List<SkuVo> getExamSkusBySpuId(Integer spuId);

    SkuVo getSkuBySkuId(Integer skuId);

    List<SkusAttrVo> getAllSkuSaleAttrBySkuIds(List<Long> skuIds);

    List<SkusAttrVo> getExamAllSkuSaleAttrBySkuIds(List<Long> skuIds);

    BigDecimal getMinPrice(Integer spuId);

    String getDefaultImageBySpuId(Integer spuId);

    List<String> getSkuImagesById(Long skuId);

    List<String> getExamSkuImagesById(Long skuId);

    List<String> getAllSkusImagesById(List<Long> skuIds);

    List<String> getExamAllSkusImagesById(List<Long> skuIds);

    List<Sku> getGoodsBySkuIds(List<Long> ids);

    void lockStock(Long skuId, Integer skuQuantity);

    void unlockStock(List<OrderCreateDTO> orders);

    //卖
    int updateSkuStock(Long skuId,Long stock);
}
